//
//  Vista.cpp
//  PEI
//
//  Created by asc on 10/03/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
/*
#include <iostream>
#include "Vista.h"

void Vista::MuestraTablero(vector<casilla> table, int rows){};
void Vista::MuestraInfo(variantes* var){};
*/

#include "Vista.h"
#include "../Modelo/Modelo.h"

/*
 * Constructor por defecto
 */
Vista::Vista(Modelo& m)
{
    su_modelo = &m;
    
    // La vista se anyade automaticamente a su modelo.
    su_modelo -> anyadir_vista(this);
}

/*
 * Constructor de copia
 */
Vista::Vista(const Vista& una_vista)
{
    su_modelo = una_vista.su_modelo;
}


/*
 * Destructor
 */
Vista::~Vista()
{
    
}

/*
 * Asignacion
 */
Vista & Vista::operator =(const Vista& una_vista)
{
    if (this != &una_vista) {
        su_modelo = una_vista.su_modelo;
    }
    return *this;
}

/**
 * actualizar_modelo()
 * El modelo ha cambiado y se lo dice a las demas vistas sobre el.
 */
void Vista::actualizar_modelo()
{
    su_modelo -> actualizar_vistas(this);
}

void Vista::poner_modelo (Modelo* m) { 
    su_modelo = m;
    // La vista se anyade automaticamente a su modelo.
    su_modelo->anyadir_vista(this);
    actualizar(); 
}
